The present invention relates to an automated fault prediction tool and, more particularly, to an automated tool for identifying the files of a software system most likely to contain faults.
Large systems have hundreds or thousands of files, and testers frequently have little guidance to help determine which files should be most thoroughly tested. Previous work in fault prediction attempted to classify files as either fault-prone or not fault-prone. More particularly, this previous work involved making predictions using different models ranging from a simple Line-of-Code (LOC) model to customized binary tree and linear regression models. Not surprisingly, the custom models invariably predicted faults more accurately than the simple model. However, development of customized models requires substantial time and analytic effort, as well as statistical expertise.
There is, therefore, a need in the art for a new, more sophisticated model that yields more accurate predictions than the earlier LOC model, but which nonetheless can be fully automated, thereby eliminating or reducing the analytical effort and statistical expertise associated with customized models. In particular, there is a need in the art for an automated tool for testers and developers to identify the files most likely to be problematic in the future.